package 算法很美.位运算奇巧淫技;

import java.util.Scanner;

/**
 * @ClassName : not运算的定义是把内存中的0和1全部取反
 * @Author : 骆发茂
 * @Date: 2021/3/18 23:23
 * @Description :
 *   === 4. not运算 ===
 *     not运算的定义是把内存中的0和1全部取反。使用not运算时要格外小心，
 *     你需要注意整数类型有没有符号。如果not的对象是无符号整数（不能表示负数），
 *     那么得到的值就是它与该类型上界的差，
 *     因为无符号类型的数是用$0000到$FFFF依次表示的。
 *     下面的两个程序（仅语言不同）均返回65435。
 */
public class not运算的定义是把内存中的0和1全部取反 {
/*var
   a:word;
begin
   a:=100;
   a:=not a;
   writeln(a);
end.

#include <stdio.h>
int main()
{
    unsigned short a=100;
    a = ~a;
    printf( "%dn", a );
    return 0;
}

    如果not的对象是有符号的整数，情况就不一样了，稍后我们会在“整数类型的储存”小节中提到。*/
}
